home *** CD-ROM | disk | FTP | other *** search
/ Aminet 33 / Aminet 33 - October 1999.iso / Aminet / comm / misc / ITA1004Daemon.lha / ITA1004Daemon-Install / Programme / ARexx / Counterlog.ITDaemon < prev   
Encoding:
Text File  |  1999-08-14  |  2.5 KB  |  79 lines

  1. /* ------------------------------------------------------------
  2. Datei    : Counterlog.ITDaemon
  3.  
  4. Autor    : J.Reinert/Lehrte
  5.  
  6. Funktion : Gebührenzähler auslesen und in eine Datei schreiben
  7.  --------------------------------------------------------------*/
  8.  
  9. options results
  10.  
  11. /* 
  12.    Pfad und Name der Logdatei. Muss an das System angepasst werden!
  13. */
  14.  
  15. Log     ="ram:DD_Counterliste.txt"
  16.  
  17.  
  18.  
  19.  
  20. DaemonStarted=0                             /* Falls Daemon nicht läuft... */
  21.  
  22. if ~show(ports,'ITA1004Daemon') then do
  23.    ADDRESS COMMAND                          /* CLI-Befehle zugänglich machen */
  24.    "RUN >NIL: ITA1004Daemon"                /* ITA1004Daemon starten */
  25.    WaitForPort "ITA1004Daemon"              /* warten auf ARexx-Port */
  26.    if rc=0 then DaemonStarted=1             /* wenn gestartet, dann Flag setzen */
  27. end
  28.  
  29. if show(ports,'ITA1004Daemon') then         /* Ist ITA1004Daemon wirklich aktiv?*/
  30. do
  31.   Address "ITA1004Daemon"                   /* Daemon-Port festlegen */
  32.   DD_REQUEST "Zählerstände in Logdatei eintragen?"
  33.   if result=1 then
  34.   do
  35.     DD_GETCOUNTER                           /* Gebührenzähler auslesen */
  36.     Counter=result
  37.     Call AddLogfile
  38.     if Summe ~= 0 then                      /* Zähler löschen, falls einer ungleich Null ist */
  39.     do
  40.       Address "ITA1004Daemon"
  41.       DD_REQUEST "Alle Zähler auf Null setzen?"
  42.       if result=1 then
  43.       do
  44.         DD_RESETCOUNTER ALL                 /* Alle Zähler löschen */
  45.         Counter=result
  46.         Call AddLogfile                     /* Neuen Zählerstand in Logdatei eintragen */
  47.       end
  48.     end
  49.   end
  50.  
  51.   if DaemonStarted then                     /* Daemon beenden, falls durch Script gestartet */
  52.   do
  53.     Address "ITA1004Daemon"
  54.     DD_ExitDaemon
  55.   end
  56. end
  57.  
  58. exit
  59.  
  60. /* -----------------------------------------------------------------------
  61.    Logdatei erweitern
  62.    -----------------------------------------------------------------------*/
  63.  
  64. AddLogfile:
  65.   if exists(log) then
  66.     call open(out,log,"A")                  /* Wenn Logdatei existier, als "Append" öffnen */
  67.   else
  68.     call open(out,log,"W")                  /* sonst erweitern */
  69.    
  70.   call writeln(out,Counter)                 /* Zählerdaten schreiben */
  71.   call close(out)                           /* Logdatei schließen */
  72.   Summe=0                                   /* Gebührensumme aller Zähler*/
  73.   do i=1 to 7
  74.     x=SubWord(Counter,i,1)                  /* Wert aus Ergebnis-String holen */
  75.     if i>2 then Summe=Summe+x               /* Summe bilden */
  76.   end
  77. Return
  78.  
  79.